P1 = 1<<(P0 & 7); 单片机C语言 这句话是什么意思

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:27:04
麻烦说的明白点 来点例子最好
先谢了

P0与7位与操作,即P0的每一位分别和0000 0111进行逻辑与运算,然后 1左移的P0&7位数。

假设P0=1111 1111 那么P0&7=0000 0111=7;那么P1=1<<7=1000 0000

p1,p0就是单片机的端口
p0&7的结果就是取出p0口的低三位,1<<(P0 & 7);也就是移位,
所以总体功能就是判断p0口低三位值,并且输出值为3-8译码器,
总体来讲就是模拟3-8译码器功能,

如果P0口是0xdf的话,那么P0&7就等于0x07也是十进制的7,然后1左移7位,在赋给P1口。<<是左移,>>是右移。